language proof and logic